package com.developpez.rpouiller.testsjunit4.java4;

import org.junit.Assert;
import org.junit.Test;

public class TestSimple {

/**
* test d'addition de 2 nombres
*/
@Test
public void testAdditionAvecDeuxNombres() {
final long lAddition = Operations.additionner(new long[]{10, 20});
Assert.assertEquals(30, lAddition);
}

/**
* test d'addition de 5 nombres
*/
@Test
public void testAdditionAvecCinqNombres() {
final long lAddition = Operations.additionner(new long[]{256, 512, 1024, 2048, 4096});
Assert.assertEquals(7936, lAddition);
}

/**
* test de multiplication de 2 nombres
*/
@Test
public void testMutiplicationAvecDeuxNombres() {
final long lMultiplication = Operations.multiplier(new long[]{10, 20});
Assert.assertEquals(200, lMultiplication);
}

/**
* test de multiplication de 5 nombres
*/
@Test
public void testMutiplicationAvecCinqNombres() {
final long lMultiplication = Operations.additionner(new long[]{256, 512, 1024, 2048, 4096});
Assert.assertEquals(1125899906842624L, lMultiplication);
}

/**
* test de diviser de 2 nombres
*/
@Test
public void testDiviserAvecDeuxNombres() {
final long lDiviser = Operations.diviser(new long[]{500, 5});
Assert.assertEquals(100, lDiviser);
}

/**
* test de diviser de 2 nombres
*/
@Test
public void testDiviserAvecCinqNombres() {
final long lDiviser = Operations.diviser(new long[]{120, 5, 4, 3, 2});
Assert.assertEquals(1, lDiviser);
}

/**
* test de soustraire de 5 nombres
*/
@Test
public void testSoustraireAvecCinqNombres() {
final long lSoustraire = (long) Operations.soustraire(new long[]{120, 1, 1, 1, 1});
Assert.assertEquals(116, lSoustraire);
}

/**
* test de soustraire de 2 nombres
*/
@Test
public void testSoustraireAvecDeuxNombres() {
final long lSoustraire = (long) Operations.soustraire(new long[]{785, 423});
Assert.assertEquals(362, lSoustraire);
}

/**
* test de soustraire de 2 triangles (2 tableau de long)
*/
@SuppressWarnings("deprecation")
@Test
public void testPythagoreAvecDeuxTab() {
final Boolean[] lPythagore = Operations.pythagore(new long[][]{new long[]{3,4,5},new long[]{3,4,5}});
final Boolean[] lResult = new Boolean[]{true,true};
Assert.assertEquals(lResult, lPythagore);
}

/**
* test de soustraire de 1 triangle (1 tableau de long)
*/
@SuppressWarnings("deprecation")
@Test
public void testPythagoreAvecUnTab() {
final Boolean[] lPythagore = Operations.pythagore(new long[][]{new long[]{3,4,5}});
final Boolean[] lResult = new Boolean[]{true};
Assert.assertEquals(lResult, lPythagore);
}


}